from pyspark import SparkConf
from pyspark import SparkContext

if __name__ == '__main__':
    conf = SparkConf().setMaster("local[2]").setAppName("spark01")
    sc = SparkContext(conf=conf)

    # 需求： 取出每个分区相同的key相应值的最大值，然后相加

    # 数据:
    lst1 = [("a", 3), ("a", 2), ("c", 4), ('b', 7)]
    rdd1 = sc.parallelize(lst1)
    lst2 = [("a", 32), ("a", 92), ("c", 42)]
    rdd2 = sc.parallelize(lst2)
    rdd3 = rdd1.cogroup(rdd2)

    result = rdd3.collect()
    for t in result:
        print("K 的值是:{0},Value是:".format(t[0]))
        print('第一个RDD中的值')
        for i in t[1][0]:
            print(i, end=',')
        print()
        print('第二个RDD中的')
        for j in t[1][1]:
            print(j, end=',')
        print()
        print('--' * 30)
